您好,欢迎来到达州工业云! 平台首页 企业驾驶舱 帮助中心 企业登录 企业注册

HI,欢迎使用达州工业云平台!

账号必须大于2位

创新资源平台
服务平台首页>专利库>专利详情

基于FPGA的软硬件协同网络测试系统及方法

  • 申请号:CN201110430701.5 申请公布号: CN102413018A
  • 申请日: 2011-12-21 申请公布日: 2012-04-11
  • 申请(专利权)人: 专利代理机构: 北京捷诚信通专利事务所(普通合伙)
  • 分类号:H04L12/26

专利介绍

本发明公开了一种基于FPGA的软硬件协同网络测试系统及方法,涉及网络测试领域,方法包括步骤:配置FPGA测试装置对应的网络测试端口P1和P2的配置信息寄存器,依据配置信息产生数据帧并发送,统计单位时间内发送数据帧的个数和所发送数据帧的总数;网络测试端口P1和P2对接收的数据帧进行校验和分类,缓存数据帧并统计单位时间内接收数据帧的个数和所接收数据帧的总数,将接收到的数据帧转换格式保存,分析发送和接收的各类统计信息,实现对网络设备转发性能的分析和诊断。本发明成本较低,且能满足网络设备开发、生产的测试要求,还能提高测试的效率。
1.一种基于FPGA的软硬件协同网络测试系统,包括微处理器,其特征在于:还包括现场可编程门阵列FPGA测试装置和网络接口,所述FPGA测试装置分别与微处理器、网络接口相连,网络接口用于实现FPGA测试装置和网络设备之间的数据交互;所述微处理器包括嵌入式通信模块,用于实现用户计算机与FPGA测试装置的数据交互;所述FPGA测试装置包括配置模块、数据帧生成模块和统计模块,所述配置模块用于配置FPGA测试装置对应的网络测试端口P1和P2的配置信息寄存器,所述数据帧生成模块用于依据配置信息产生各类数据帧并发送,所述统计模块用于统计单位时间内发送/接收数据帧的个数和所发送/接收数据帧的总数。
2.如权利要求1所述的基于FPGA的软硬件协同网络测试系统,其特征在于:所述网络接口设置两个支持10M/100M/1000M/10Gbit/s的网口。
3.应用如权利要求1或2所述系统的基于FPGA的软硬件协同网络测试方法,其特征在于包括以下步骤:A、配置FPGA测试装置对应的网络测试端口P1和P2的配置信息寄存器,依据配置信息产生数据帧并发送,统计单位时间内发送数据帧的个数和所发送数据帧的总数;B、所述网络测试端口P1和P2对接收的数据帧进行校验和分类,缓存数据帧并统计单位时间内接收数据帧的个数和所接收数据帧的总数,将接收到的数据帧转换格式保存,分析发送和接收的各类统计信息,实现对网络设备转发性能的分析和诊断。
4.如权利要求3所述的基于FPGA的软硬件协同网络测试方法,其特征在于:步骤A中所述配置信息包括网络测试端口P1和P2所发送数据帧的帧头字段、长度、内容、个数和错误类型。
5.如权利要求4所述的基于FPGA的软硬件协同网络测试方法,其特征在于:所述数据帧的帧头字段包括:发送数据帧的目的地址DA、源地址SA和协议字段类型。
6.如权利要求3所述的基于FPGA的软硬件协同网络测试方法,其特征在于:所述单位时间为1秒、5秒、10秒、20秒、30秒或者60秒。
7.如权利要求3所述的基于FPGA的软硬件协同网络测试方法,其特征在于:按所发送/接收数据帧的长度、错误类型、协议字段类型作统计,或不分类统计数据帧的个数。
8.如权利要求3所述的基于FPGA的软硬件协同网络测试方法,其特征在于:步骤B中将接收到的数据帧保存为CAP和PKT的数据帧格式文件。
9.如权利要求8所述的基于FPGA的软硬件协同网络测试方法,其特征在于:步骤B中采用网络协议分析软件分析保存的CAP和PKT的数据帧格式文件,实现对网络设备转发的数据帧的协议分析。
10.如权利要求3至9中任一项所述的基于FPGA的软硬件协同网络测试方法,其特征在于:步骤B中对接收的数据帧进行校验检查、字节对齐ALIGNMENT错误检查、按协议字段分类。技术领域
本发明涉及网络测试领域,特别是涉及一种基于FPGA的软硬件协同网络测试系统及方法。
背景技术
网络测试仪在网络设备的开发、生产、以及网络建设过程中,起着极其重要的作用,现在常用的诊断、测试网络设备以及建设的网络用的测试方法,基本分为两类,第一类是采用现有PC(Personalxa0Computer,个人计算机)的10/100/1000Mbit/s的网口加上一些常用的应用软件,例如网络协议分析软件中的EtherPeek、Sniffer软件,通过这些应用软件编辑要发送的数据包格式,同时对接收到的数据包进行分析,采用该方法可以对网络设备或网络是否能转发数据包作测试和诊断,但是,由于该方法的采用受限于PC机和应用软件,PC机的网口不能线速度(即按满流量)100/1000Mbit/s发数据包,只能达到十几兆流量,这样就不能作转发性能的测试,例如吞吐量的测试等,同时由于PC机没有10Gbit/s的网口,对具有10Gbit/s的网口的设备无法测试,并且采用PC机这种测试方法一般需要两台PC机,才能进行两个口的对发测试,对现场使用就带来不便;第二类测试方法是采用专用的测试仪,常用的如Spirent(思博伦)、Ixia(易嘉)等公司生产的测试仪,可以提供所需的测试要求,但该类测试设备非常昂贵,对于大部分公司来说,只能拥有少量的该类型测试设备,但对于网络设备的开发、生产的应用需求来说,远不能满足。由于没有一种成本较低、同时又能满足测试需求的测试设备,导致网络设备的开发、生产的效率较低。
发明内容
本发明的目的是为了克服上述背景技术的不足,提供一种基于FPGA的软硬件协同网络测试系统及方法,成本较低,且能满足网络设备开发、生产的测试要求,还能提高测试的效率。本发明提供的基于FPGA的软硬件协同网络测试系统,包括微处理器,还包括现场可编程门阵列FPGA测试装置和网络接口,所述FPGA测试装置分别与微处理器、网络接口相连,网络接口用于实现FPGA测试装置和网络设备之间的数据交互;所述微处理器包括嵌入式通信模块,用于实现用户计算机与FPGA测试装置的数据交互;所述FPGA测试装置包括配置模块、数据帧生成模块和统计模块,所述配置模块用于配置FPGA测试装置对应的网络测试端口P1和P2的配置信息寄存器,所述数据帧生成模块用于依据配置信息产生各类数据帧并发送,所述统计模块用于统计单位时间内发送/接收数据帧的个数和所发送/接收数据帧的总数。在上述技术方案中,所述网络接口设置两个支持10M/100M/1000M/10Gbit/s的网口。应用上述系统的基于FPGA的软硬件协同网络测试方法,包括以下步骤:A、配置FPGA测试装置对应的网络测试端口P1和P2的配置信息寄存器,依据配置信息产生数据帧并发送,统计单位时间内发送数据帧的个数和所发送数据帧的总数;B、所述网络测试端口P1和P2对接收的数据帧进行校验和分类,缓存数据帧并统计单位时间内接收数据帧的个数和所接收数据帧的总数,将接收到的数据帧转换格式保存,分析发送和接收的各类统计信息,实现对网络设备转发性能的分析和诊断。在上述技术方案中,步骤A中所述配置信息包括网络测试端口P1和P2所发送数据帧的帧头字段、长度、内容、个数和错误类型。在上述技术方案中,所述数据帧的帧头字段包括:发送数据帧的目的地址DA、源地址SA和协议字段类型。在上述技术方案中,所述单位时间为1秒、5秒、10秒、20秒、30秒或者60秒。在上述技术方案中,按所发送/接收数据帧的长度、错误类型、协议字段类型作统计,或不分类统计数据帧的个数。在上述技术方案中,步骤B中将接收到的数据帧保存为CAP和PKT的数据帧格式文件。在上述技术方案中,步骤B中采用网络协议分析软件分析保存的CAP和PKT的数据帧格式文件,实现对网络设备转发的数据帧的协议分析。在上述技术方案中,步骤B中对接收的数据帧进行校验检查、字节对齐ALIGNMENT错误检查、按协议字段分类。与现有技术相比,本发明的优点如下:(1)本发明将现有的一些应用软件和FPGA的可编程线速发包和收包的特点相结合,通过FPGA(Fieldxa0Programmablexa0Gatexa0Array,现场可编程门阵列)实现转发性能方面的工作,将协议分析、包分类等由应用软件,例如EtherPeek、Sniffer软件来处理,这样既能满足网络设备开发和生产中测试的需求,同时又能够降低测试成本。(2)应用本发明的系统和方法,可进行大规模批量测试,并且该系统中的网络接口可扩展至24个网口,具有良好的可扩展性,能够提高测试的效率,并节约测试设备的投入。
附图说明
图1是本发明实施例中系统的结构框图。图2是本发明实施例中FPGA测试装置的逻辑框图。图3是本发明实施例中方法的应用实例示意图。图4是本发明实施例中方法的测试流程图。
具体实施方式
下面结合附图及实施例对本发明作进一步的详细描述。参见图1所示,本发明实施例提供的基于FPGA的软硬件协同网络测试系统,包括微处理器、FPGA测试装置和网络接口,FPGA测试装置分别与微处理器、网络接口相连,网络接口设置两个支持10M/100M/1000M/10Gbit/s的网口。网络接口用于实现FPGA测试装置和网络设备之间的数据交互,微处理器包括嵌入式通信模块,用于实现用户计算机与FPGA测试装置的数据交互。FPGA测试装置包括配置模块、数据帧生成模块和统计模块,配置模块用于配置FPGA测试装置对应的网络测试端口P1和P2的配置信息寄存器,数据帧生成模块用于依据配置信息产生各类数据帧并发送,统计模块用于统计单位时间内发送/接收数据帧的个数和所发送/接收数据帧的总数。参见图2所示,应用上述系统的基于FPGA的软硬件协同网络测试方法,包括以下步骤:A、配置FPGA测试装置对应的网络测试端口P1和P2的配置信息寄存器,依据配置信息产生数据帧并发送,统计单位时间内发送数据帧的个数和所发送数据帧的总数;配置信息包括网络测试端口P1和P2所发送数据帧的帧头字段、长度、内容、个数和错误类型,数据帧的帧头字段包括:发送数据帧的目的地址DA、源地址SA和协议字段类型。B、网络测试端口P1和P2对接收的数据帧进行校验检查、字节对齐ALIGNMENT错误检查、按协议字段分类,缓存数据帧并统计单位时间内接收数据帧的个数和所接收数据帧的总数,将接收到的数据帧转换格式,保存为CAP和PKT格式文件,采用EtherPeek、Sniffer等网络协议分析软件分析保存的CAP和PKT的数据帧格式文件,并分析发送和接收的各类统计信息,实现对网络设备转发性能的分析和诊断。上述单位时间为1秒、5秒、10秒、20秒、30秒或者60秒,按所发送/接收数据帧的长度、错误类型、协议字段类型作统计,或不分类统计数据帧的个数。本发明实施例中基于FPGA的软硬件协同网络测试系统包含两个部分:软件系统部分和硬件系统部分,软件系统部分主要是指设置于计算机上的软件配置和接收数据帧模块、嵌入式通信模块、以及用于分析数据帧的应用软件EtherPeek、Sniffer;硬件系统部分包括微处理器、FPGA测试装置和网络接口。硬件系统部分还提供了一个扩展接口,通过该扩展接口可将多块该硬件部分级联起来,实现24个网络接口的测试系统。通过计算机软件模块与嵌入式通信模块的通信,可实现对FPGA测试装置的读取,并将读取的数据流保存为*.PKT和*.CAP的数据帧格式文件。FPGA测试装置可依据配置产生各类数据流,和通过网络接口接收各类数据流,并对产生的数据流和接收的数据作统计和分类。软件系统的设置于计算机的软件模块通过SNMP协议与嵌入式通信模块相互通信,设置于计算机的软件模块通过嵌入式通信模块完成对FPGA测试装置的访问,FPGA测试装置产生和接收各类数据流。参见图3所示,计算机上的配置模块,与网络测试系统上的嵌入式通信模块通过SNMP(Simplexa0Networkxa0Managementxa0Protocol,简单网络管理协议)协议通信,嵌入式通信模块接收计算机上的配置信息后,通过与FPGA测试装置相连的SPI(Serialxa0Peripheralxa0Interface,外围设备接口)接口,将配置信息写入FPGA测试装置,FPGA测试装置依据配置信息产生各类数据帧,通过网络接口发送到网络设备,同时网络接口实时接收从网络设备发送来的数据帧,接收到数据帧后,FPGA测试装置对其作各类分析和统计后进行缓存,通过微处理器的嵌入式通信模块发送到计算机上的接收模块,接收模块对收到的数据帧作格式转换并保存为CAP和PKT的数据帧格式文件,同时获取各类统计信息,依据各类统计信息分析网络设备的转发性能,通过应用软件EtherPeek、Sniffer作协议分析。计算机上的软件模块配置FPGA测试装置,由FPGA内实现的FPGA测试装置生成符合IEEE802.3格式的各类数据流,通过网络接口的2个网口的信号变换后输出,通过双绞线或光纤与网络设备相接,同时FPGA测试装置通过网络接口接收各类数据流。FPGA测试装置对产生的数据帧按单位时间作统计和统计发送的总数据帧个数,对接收的各类数据流,对数据帧作CRC校验、超短帧(小于60字节)、超长帧(小于8192字节)、ALIGNMENT帧作统计计数,并将接收的数据帧转发给嵌入式通信模块,通过嵌入式通信模块送给计算机上的软件模块。计算机上的软件模块提供配置接口窗口,可依据测试人员的配置,使FPGA测试装置产生不通的数据帧,对从嵌入式通信模块送来的数据帧,可依据测试人员的配置自动保存为*.PKT和*.CAP格式文件,存入计算机上指定的路径上,生成的*.PKT和*.CAP格式文件可通过EtherPeek、Sniffer软件打开,这样就可对数据帧协议分析,同时通过访问FPGA测试装置的各类统计技术,可作对测试设备的转发性能分析。参见图4所示,本发明实施例中测试系统的网络测试端口P1和P2分别与网络设备的两个端口相接,通过测试系统的网络测试端口P1和P2相互发送数据帧,发送数据帧的要求如下:端口P1发送的数据帧DA(Destinationxa0Address,目的地址)为端口P2发送的数据帧SA(Sourcexa0Address,源地址),端口P1发送的数据帧源地址SA为端口P2发送的数据帧的目的地址DA;端口P2发送的数据帧目的地址DA为端口P1发送的数据帧的源地址SA,端口P2发送的数据帧源地址SA为端口P1发送的数据帧的目的地址DA。具体的测试过程包括以下六个步骤:步骤S1:通过计算机上的软件配置模块,配置FPGA测试装置对应的网络测试端口P1和P2的配置信息寄存器,配置信息包括:(1)配置数据帧的帧头字段,即以太网帧的前80个字节,如发送数据帧的目的地址DA、源地址SA、协议字段TYPE等,依据测试需求可对以太网帧的前80个字节作配置。(2)配置发送数据帧的长度,长度范围为32-2048字节,也可在该范围内随机变化。(3)配置网络测试端口P1和P2发送数据帧的个数,范围为0x1-0xffffffff,也可为始终发送。(4)可以选择配置发送各类错误数据帧,如CRC(Cyclicxa0Redundancyxa0Check,循环冗余校验)错误、字节对齐ALIGNMENT错误。(5)配置网络测试端口P1和P2发送数据帧的内容字节,内容字节可配置为随机产生,也可为配置的内容。完成对网络测试端口P1和P2的各类配置,可进入步骤S2。步骤S2:在完成端口的各类配置后,选择发送命令,FPGA测试装置的数据帧生成模块依据配置信息,产生各类数据帧,发送到网络接口。步骤S3:网络测试端口P1和P2的统计模块按单位时间分别为1秒、5秒、10秒、20秒、30秒和60秒,统计在该单位时间的发送数据帧的个数,可按发送数据帧的长度、错误类型、协议字段类型作统计,也可不分类统计,还要统计发送数据帧的总数,该统计信息由设置于计算机上的软件信息获取模块获取,用于作性能分析。步骤S4:网络测试端口P1和P2的接收模块对接收的数据帧作校验检查、ALIGNMENT错误检查、按协议字段分类。步骤S5:接收模块接收的数据帧在缓存部分作缓存,同时按单位时间分别为1秒、5秒、10秒、20秒、30秒和60秒,统计在该单位时间的接收数据帧的个数,可按接收数据帧的长度、错误类型、协议字段类型作统计,也可不分类统计,还要统计接收数据帧的总数,该统计信息由设置于计算机上的软件信息获取模块获取,用于作性能分析。步骤S6:设置与计算机的软件信息获取模块接收到数据帧,将其转换格式,保存为CAP和PKT的数据帧格式文件,同时获取发送和接收的各类统计信息,通过对发送和接收的统计信息分析,可实现对网络设备转发性能的分析和诊断,通过采用应用软件,例如网络协议分析软件中的EtherPeek、Sniffer软件分析保存的CAP和PKT文件,可实现对网络设备转发的数据帧的协议分析。重复步骤S1至S6,可测试网络设备对各类协议数据帧的转发性能和协议支持能力。显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。本说明书中未作详细描述的内容属于本领域专业技术人员公知的现有技术。